1. Field of the Invention
This invention relates to peer-to-peer network computing and email systems, and more particularly to facilitating email messaging between email clients and peers participating in a peer-to-peer environment.
2. Description of the Related Art
Peer-to-peer (P2P) computing, embodied by applications like Napster, Gnutella, and Freenet, has offered a compelling and intuitive way for Internet users to find and share resources directly with each other, often without requiring a central authority or server. The term peer-to-peer networking or computing (often referred to as P2P) may be applied to a wide range of technologies that greatly increase the utilization of information, bandwidth, and computing resources in the Internet. Frequently, these P2P technologies adopt a network-based computing style that neither excludes nor inherently depends on centralized control points. Apart from improving the performance of information discovery, content delivery, and information processing, such a style also can enhance the overall reliability and fault-tolerance of computing systems. FIG. 1A illustrates two peer devices 104A and 104B that are currently connected. Either of the two peer devices 104 may serve as a client of or a server to the other device. FIG. 1B illustrates several peer devices 104 connected over the network 106 in a peer group. In the peer group, any of the peer devices 104 may serve as a client of or a server to any of the other devices.
Typical email systems rely on client-server environment. For example, an email user may have an account on a typical incoming email server (e.g. a POP3 server or an IMAP server) to receive email messages from other email users. The typical email server may include an email box for storing email messages. The email user may access the email box on the email server over a network using an email client. If the email server is not available, the email user may not have access to incoming email messages.
As another example, an email user may have an account on a typical outgoing email server (e.g. an SMTP server) to send email messages to other email users. An email user may compose an email message and upload the email message to the outgoing email server using an email client over a network. The outgoing email server may send the message over the network to an incoming email server. If either the outgoing email server or the incoming email server is unavailable, the email message may not reach an intended destination.